home *** CD-ROM | disk | FTP | other *** search
/ Super CD / Super CD.iso / teach / lbasic / music.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-02  |  8.4 KB  |  211 lines

  1. 940  REM The IBM Personal Computer Music
  2. 950  REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
  3. 960  REM Licensed Material - Program Property of IBM
  4. 975  DEF SEG: POKE 106,0
  5. 980  SAMPLES$ = "NO"
  6. 990  GOTO 1010
  7. 1000  SAMPLES$ = "YES"
  8. 1010  KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19,0:PRINT "IBM"
  9. 1020  LOCATE 7,12:PRINT "Personal Computer"
  10. 1030  COLOR 10,0:LOCATE 10,9:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
  11. 1040  LOCATE 11,9:PRINT CHR$(179)+"        MUSIC        "+CHR$(179)
  12. 1050  LOCATE 12,9:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
  13. 1060  LOCATE 13,9:PRINT CHR$(179)+"    Version 1.10     "+CHR$(179)
  14. 1070  LOCATE 14,9:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
  15. 1080  COLOR 15,0:LOCATE 17,4:PRINT "(C) Copyright IBM Corp by Firas Alhamdan 1988,1990"
  16. 1090  COLOR 14,0:LOCATE 23,7:PRINT "Press space bar to i kill you"
  17. 1100  IF INKEY$ <> "" THEN  1100
  18. 1110  CMD$ = INKEY$:IF CMD$="" THEN 1110
  19. 1130  IF CMD$ = CHR$(27) THEN GOTO 1850
  20. 1140  IF CMD$ <> " " THEN 1110
  21. 1141  ON ERROR GOTO 1148
  22. 1142  PLAY "mf"
  23. 1143  GOTO 1149
  24. 1148  RESUME 1149
  25. 1149  ON ERROR GOTO 0
  26. 1150  SCREEN 0,1:WIDTH 40:COLOR 15,1,1:CLS:DEFINT A-Z
  27. 1160  LOCATE 15,7:PRINT " ------- selections -------"
  28. 1170  LOCATE 16,7:PRINT " A-MARCH  E-HUMOR  I-SAKURA"
  29. 1180  LOCATE 17,7:PRINT " B-STARS  F-BUG    J-BLUE  "
  30. 1190  LOCATE 18,7:PRINT " C-bithoven G-POP    K-SCALES"
  31. 1191  LOCATE 19,7:PRINT " D-HAT    H-DANDY  ESC KEY-EXIT"
  32. 1200  COLOR 15,0
  33. 1210  FOR I=0 TO 15:FOR J=0 TO 8
  34. 1220  LOCATE 5+J,5+I*2:PRINT CHR$(219);CHR$(221);
  35. 1230  NEXT:NEXT
  36. 1240  FOR I=0 TO 12:FOR J=0 TO 4
  37. 1250  IF I=2 OR I=6 OR I=9 OR I=13 THEN 1270
  38. 1260  LOCATE 5+J,8+I*2:PRINT CHR$(32);CHR$(222);
  39. 1270  NEXT:NEXT
  40. 1280  FOR J=0 TO 9
  41. 1290  LOCATE 4+J,4:COLOR 4,0:PRINT CHR$(221);:LOCATE 4+J,36:COLOR 15,0
  42. 1300  PRINT CHR$(221);:COLOR 4,1:PRINT CHR$(221);
  43. 1310  NEXT
  44. 1320  COLOR 4,1:LOCATE 4,4
  45. 1330  FOR I=0 TO 32:PRINT CHR$(219);:NEXT
  46. 1340  PRINT CHR$(221);:LOCATE 13,4
  47. 1350  FOR I=0 TO 32:PRINT CHR$(219);:NEXT
  48. 1360  PRINT CHR$(221);:COLOR 0,7:DIM M(88),O(70)
  49. 1370  FOR I=7 TO 88:M(I) =  36.8*(2^(1/12))^(I-6):NEXT
  50. 1380  FOR I=0 TO 6:M(I) = 32767:NEXT
  51. 1390  O(0) = 0
  52. 1400  O(39)=5:O(40)=7:O(41)=8:O(42)=9
  53. 1410  O(43)=10:O(44)=11:O(45)=13:O(46)=14
  54. 1420  O(47)=15:O(48)=16:O(49)=17:O(50)=18
  55. 1430  O(51)=19:O(52)=21:O(53)=22:O(54)=23
  56. 1440  O(55)=24:O(56)=25:O(57)=27:O(58)=28
  57. 1450  O(59)=29:O(60)=30:O(61)=31:O(62)=32
  58. 1460  O(63)=33:O(64)=35:O(65)=36:O(66)=37
  59. 1470  O(67)=38:O(68)=39:O(69)=40:O(70)=42
  60. 1480  GOTO 1630
  61. 1490  READ J,K
  62. 1500  CMD$ = INKEY$:IF CMD$="" THEN 1540
  63. 1510  IF CMD$=CHR$(27) THEN RETURN
  64. 1520  POKE 106,0
  65. 1530  REM
  66. 1540  IF J = -1  THEN RETURN
  67. 1550  Q = O(J)
  68. 1560  IF J>64 OR J<39 THEN 1590
  69. 1570  IF SCREEN(5,Q)<>32 THEN COLOR 0,7:LOCATE 11,Q:PRINT CHR$(14);:COLOR 15,0:GOTO 1590
  70. 1580  COLOR 15,0:LOCATE 7,Q:PRINT CHR$(14);:COLOR 0,7
  71. 1590  SOUND M(J),K:IF J=0 AND K=1 THEN 1600:'SKIP NEXT FOR STACCATTO
  72. 1595  SOUND 32766,1
  73. 1600  IF J>64 OR J<39 THEN 1490
  74. 1610  IF SCREEN(5,Q) = 32 THEN COLOR 15,0:LOCATE 7,Q:PRINT CHR$(32);:GOTO 1490
  75. 1620  COLOR 15,0:LOCATE 11,Q:PRINT CHR$(219);:GOTO 1490
  76. 1630  LOCATE 21,5:PRINT "                                ";
  77. 1640  LOCATE 21,5:PRINT "ENTER SELECTION ==>";
  78. 1650  IF INKEY$ <> "" THEN 1650
  79. 1660  CMD$=INKEY$:IF CMD$="" THEN 1660
  80. 1670  IF CMD$=CHR$(27)  THEN 1850
  81. 1680  IF CMD$="A" OR CMD$="a" THEN S$= "MARCH ":RESTORE 4000:GOTO 1770
  82. 1690  IF CMD$="B" OR CMD$="b" THEN S$= "STARS ":RESTORE 4100:GOTO 1770
  83. 1700  IF CMD$="C" OR CMD$="c" THEN S$= "FORTY ":RESTORE 3700:GOTO 1770
  84. 1710  IF CMD$="D" OR CMD$="d" THEN S$= "HAT   ":RESTORE 4300:GOTO 1770
  85. 1720  IF CMD$="E" OR CMD$="e" THEN S$= "HUMOR ":RESTORE 3500:GOTO 1770
  86. 1730  IF CMD$="F" OR CMD$="f" THEN S$= "BUG   ":RESTORE 3200:GOTO 1770
  87. 1740  IF CMD$="G" OR CMD$="g" THEN S$= "POP   ":RESTORE 3600:GOTO 1770
  88. 1750  IF CMD$="H" OR CMD$="h" THEN S$= "DANDY ":RESTORE 3900:GOTO 1770
  89. 1755  IF CMD$="I" OR CMD$="i" THEN S$= "SAKURA":RESTORE 4500:GOTO 1770
  90. 1757  IF CMD$="J" OR CMD$="j" THEN S$= "BLUE  ":RESTORE 3300:GOTO 1770
  91. 1761  IF CMD$="K" OR CMD$="k" THEN S$= "SCALES":RESTORE 4400:GOTO 1770
  92. 1769  GOTO 1640
  93. 1770  PRINT " ";CMD$;"-";S$
  94. 1780  READ D
  95. 1800  READ S$:LOCATE 23,1+(40.5-LEN(S$))/2
  96. 1805  COLOR 15,4:PRINT S$;:COLOR 0,7
  97. 1810  GOSUB 1490
  98. 1820  S$=STRING$(39," "):LOCATE 23,1:COLOR 4,1:PRINT S$:COLOR 0,7
  99. 1830  GOTO 1630
  100. 1840  END
  101. 1850  IF SAMPLES$="YES" THEN CHAIN "SAMPLES",1000
  102. 1860  SCREEN 0,1:COLOR 7,0,0:CLS:END
  103. 3000  REM The IBM Personal Computer Music Scroll
  104. 3010  REM Version 1.00 (C)Copyright IBM Corp 1981
  105. 3020  REM Licensed Material - Program Property of IBM
  106. 3200  DATA -2,"La Cucaracha - Mexican Folk Song"
  107. 3210  DATA 42,1,0,1,42,1,0,1,42,1,0,1,47,1,0,5,51,1,0,3,42,1,0,1,42,1,0,1
  108. 3220  DATA 42,1,0,1,47,1,0,5,51,1,0,5,30,1,0,1,30,1,0,1,35,1,0,3,47,1,0,1
  109. 3230  DATA 47,1,0,1,46,1,0,1,46,1,0,1,44,1,0,1,44,1,0,1,42,8,0,2,42,1,0,1
  110. 3240  DATA 42,1,0,1,42,1,0,1,46,1,0,5,49,1,0,3,42,1,0,1,42,1,0,1,42,1,0,1
  111. 3250  DATA 46,1,0,5,49,1,0,5,37,1,0,1,37,1,0,1,30,1,0,3,54,2,56,2,54,2,52,2
  112. 3260  DATA 51,2,49,2,47,8
  113. 3270  DATA -1,-1
  114. 3300  DATA -2,"Blue Danube Waltz by J.S.Strauss"
  115. 3310  DATA 42,4,46,4,49,4,49,4,0,4,61,2,0,2,61,2,0,6,58,2,0,2,58,2,0,6,42,4,42,4
  116. 3320  DATA 46,4,49,4
  117. 3330  DATA 49,4,0,4,61,2,0,2,61,2,0,6,59,2,0,2,59,2,0,6,41,4,41,4,44,4,51,4,51,4
  118. 3340  DATA 0,4,63,2,0,2,63,2,0,6,59,2,0,2
  119. 3350  DATA 59,2,0,6,41,4,41,4,44,4,51,4,51,4,0,4,63,2,0,2,63,2,0,6,58,2,0,2,58,2
  120. 3360  DATA 0,6,42,4
  121. 3370  DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2,66,2,0,6,61,2,0,2,61,2,0,6,42,4
  122. 3380  DATA 42,4,46,4,49,4,54,4,0,4,66,2,0,2
  123. 3390  DATA 66,2,0,6,63,2,0,2,63,2,0,6,44,4,44,4,47,4,51,2,0,2,51,14,0,2,48,4
  124. 3400  DATA 49,4,58,16
  125. 3410  DATA 54,4,46,4,46,8,44,4,51,8,49,4,42,4,0,2,42,2,42,4,0,8,49,2,0,2,47,2
  126. 3420  DATA 0,6,49,2,0,2
  127. 3430  DATA 47,2,0,6,49,4,58,16,56,4,49,2,0,2,46,2,0,6,49,2,0,2,46,2,0,6,49,4
  128. 3440  DATA 56,16,54,4,49,2,0,2,47,2,0,6,49,2,0,2,47,2,0,6,49,4,58,16
  129. 3450  DATA 56,4,49,4,54,4,56,4,58,4,61,8,59,4,58,2,58,2,58,4,56,2,0,2,54,4,0,8
  130. 3460  DATA -1,-1
  131. 3500  DATA -2,"Humoresque by Dvorak"
  132. 3510  DATA 47,3,0,2,49,1,47,3,0,2,49,1,51,3,0,2,54,1,56,3,0,2,54,1
  133. 3520  DATA 59,3,0,2,58,1,61,3,0,2,59,1,58,3,0,2,61,1,59,3,0,2,56,1
  134. 3530  DATA 54,3,0,2,54,1,56,3,0,2,54,1,59,3,0,2,56,1,54,3,0,2,51,1
  135. 3540  DATA 49,24,47,3,0,2,49,1,47,3,0,2,49,1,51,3,0,2,54,1,56,3,0,2,54,1
  136. 3550  DATA 56,3,0,2,58,1,61,3,0,2,59,1,58,3,0,2,61,1,59,3,0,2,56,1
  137. 3560  DATA 54,3,0,2,54,1,59,3,0,2,47,1,49,6,54,6,47,18
  138. 3570  DATA -1,-1
  139. 3600  DATA -2,"Pop! Goes the Weasel - Anonymous"
  140. 3610  DATA 47,2,0,2,47,2,49,2,0,2,49,2,51,2,54,2,51,2,47,2,0,2,42,2
  141. 3620  DATA 47,2,0,2,47,2,49,2,0,2,49,2,51,6,47,2,0,2,42,2,47,2,0,2,47,2,49,2
  142. 3630  DATA 0,2,49,2,51,2,54,2,51,2,47,2,0,4,56,2,0,4,49,2,0,2,52,2,51,6,47,2
  143. 3640  DATA 0,4,59,2,0,2,59,2,56,2,0,2,59,2,58,2,61,2,58,2,54,2,0,4,59,2,0,2
  144. 3650  DATA 59,2,56,2,0,2,59,2,58,6,54,2,0,2,51,2,52,2,0,2,51,2,52,2,0,2,54,2
  145. 3660  DATA 56,2,0,2,58,2,59,2,0,4,56,2,0,4,49,2,0,2,52,2,51,6,47,2
  146. 3670  DATA -1,-1
  147. 3700     DATA -2,"Symphony #40 by Mozart"
  148. 3710  DATA 55,2,54,2,54,4,55,2,54,2,54,4,55,2,54,2,54,4,62,4,0,4
  149. 3720  DATA 62,2,61,2,59,4,59,2,57,2,55,4,55,2,54,2
  150. 3730  DATA 52,4,52,4,0,4,54,2,52,2,52,4,54,2,52,2,52,4,54,2,52,2
  151. 3740  DATA 52,4,61,4,0,4,61,2,59,2,58,4,58,2,55,2,54,4,54,2,52,2
  152. 3750  DATA 50,4,50,4,0,4,62,2,61,2,61,4,64,4,58,4,61,4
  153. 3760  DATA 59,4,54,4,0,4,62,2,61,2,61,4,64,4,58,4,61,4
  154. 3770  DATA 59,4,62,4,61,2,59,2,57,2,55,2,54,4,46,4,47,4,49,4
  155. 3780  DATA 50,4,52,2,50,2,49,4,47,4,54,4,0,4,65,8
  156. 3790  DATA 66,2,0,6,65,8,66,2,0,6,65,8
  157. 3800  DATA 66,4,65,4,66,4,65,4,66,4
  158. 3810  DATA -1,-1
  159. 3900  DATA -2,"Yankee Doodle - Anonymous "
  160. 3910  DATA 50,3,50,3,52,3,54,3,50,3,54,3,52,3,45,3,50,3,50,3,52,3,54,3,50,6
  161. 3920  DATA 49,3,0,3
  162. 3930  DATA 50,3,50,3,52,3,54,3,55,3,54,3,52,3,50,3,49,3,45,3,47,3,49,3,50,6
  163. 3940  DATA 50,3,0,3
  164. 3950  DATA 47,5,49,1,47,3,45,3,47,3,49,3,50,3,0,3,45,5,47,1,45,3,43,3,42,6
  165. 3960  DATA 45,3,0,3
  166. 3970  DATA 47,5,49,1,47,3,45,3,47,3,49,3,50,3,47,3,45,3,50,3,49,3,52,3,50,6
  167. 3980  DATA 50,6
  168. 3990  DATA -1,-1
  169. 4000  DATA -2,"FUNERAL MARCH OF A MARIONETTE - GOUNOD"
  170. 4010  DATA 37,1,0,2,30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3,0,3,37,1,0,2
  171. 4020  DATA 30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3,0,3,37,3,42,3,0,3,45,3
  172. 4030  DATA 49,6,47,3,45,3,0,3,49,3,52,6,50,3,49,3,0,3,53,3,56,6,54,3,53,3,50,3
  173. 4040  DATA 49,3,47,3,45,3,44,3,30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3
  174. 4050  DATA 0,3,37,1,0,2,30,1,0,5,42,3,42,3,41,3,39,3,41,3,0,3,42,3,44,3,0,3
  175. 4060  DATA 37,3,45,3,0,3,49,3,52,6,50,3,49,3,47,3,45,3,43,3,47,3,50,3,42,3
  176. 4070  DATA 41,3,42,3,44,3,0,3,45,1,0,2,44,9,42,1
  177. 4080  DATA -1,-1
  178. 4100  DATA -2,"STARS AND STRIPES FOREVER - SOUSA "
  179. 4110  DATA 54,6,54,6,52,3,51,3,51,6,50,3,51,3,51,16,0,2,50,3
  180. 4120  DATA 51,3,51,6,50,3,51,3
  181. 4130  DATA 54,6,51,3,54,3,52,12,49,6,0,3,49,3,49,6,48,3,49,3
  182. 4140  DATA 49,6,48,3,49,3
  183. 4150  DATA 52,16,0,2,51,3,49,3,51,3,54,9,56,9,56,3,49,16,0,2,54,6
  184. 4160  DATA 54,6,52,3,51,3,51,6,50,3,51,3,51,16,0,2,50,3,51,3,51,6,50,3 ,51,3
  185. 4170  DATA 52,3,51,3,49,5,46,1,49,12,47,6,0,3,47,3,47,6,46,3,47,3,50,6,49,3,47,3
  186. 4180  DATA 59,15,0,3,47,3,49,3,51,3,54,1,0,2,47,3,49,3,51,3,54,1,0,2,42,3,44,5
  187. 4190  DATA 51,1,49,12,47,1
  188. 4200  DATA -1,-1
  189. 4300  DATA -2,"Mexican Hat Dance - Traditional "
  190. 4310  DATA 52,2,57,2,0,2,52,2,57,2,0,2,52,2,57,6,0,4,52,2,57,2,59,2,57,2,56,4
  191. 4320  DATA 57,2,59,2,0,8,52,2,56,2,0,2,52,2,56,2,0,2,52,2,56,6,0,4,52,2
  192. 4330  DATA 56,2,57,2,56,2,54,4,56,2,57,2,0,6,64,2,63,2,64,2,61,2,60,2,61,2
  193. 4340  DATA 57,2,56,2,57,2,52,2,0,4,49,2,50,2,52,2,54,2,56,2,57,2,59,2,61,2
  194. 4350  DATA 62,2,59,2,0,4,62,2,61,2,62,2,59,2,58,2,59,2,56,2,55,2,56,2,52,2
  195. 4360  DATA 0,4,64,2,63,2,64,2,66,2,64,2,62,2,61,2,59,2,57,2
  196. 4370  DATA -1,-1
  197. 4400  DATA -2,"SCALES"
  198. 4410  DATA 38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1
  199. 4420  DATA 48,1,49,1,50,1,51,1,52,1,53,1,54,1,55,1,56,1
  200. 4430  DATA 57,1,58,1,59,1,60,1,61,1,62,1,63,1,64,1,65,8,0,4
  201. 4440  DATA 65,8,64,1,63,1,62,1,61,1,60,1,59,1,58,1,57,1
  202. 4450  DATA 56,1,55,1,54,1,53,1,52,1,51,1,50,1,49,1,48,1
  203. 4460  DATA 47,1,46,1,45,1,44,1,43,1,42,1,41,1,40,1,39,1,38,8
  204. 4470  DATA -1,-1
  205. 4500  DATA -2,"Sakura - Japanese Folk Melody "
  206. 4510  DATA 49,8,49,8,51,12,0,4,49,8,49,8,51,12,0,4,49,8,51,8,52,8,51,8
  207. 4520  DATA 49,8,51,4,49,4,45,16,44,8,40,8,44,8,45,8
  208. 4530  DATA 44,8,44,4,40,4,39,16,49,8,49,8,51,12,0,4,49,8,49,8,51,12,0,4
  209. 4540  DATA 40,8,44,8,45,8,49,8,51,4,49,4,45,8,44,16
  210. 4550  DATA -1,-1
  211.